任务095:SQLMAP自动注入(二)-REQUEST和SQLMAP自动注入(三)-OPTIMIZATION

设置时间参数

设置扫描时间

用sqlmap去扫描别人的网站会发送大量的请求可能目标服务器会发现你给你屏蔽掉,我们可以设置发送包的时间

1
--delay 要指定的时间				时间是秒

设置超时时间

1
--timeout  要设置的时间          默认为30秒,30要没有响就超时了

尝试连接

1
--retries  要设置的次数	比如超时时间设置30妙那么就是90妙

请求错误

如果你发送大量的错误请求就会被防护机制被注销掉可以用–safe-url每请求错误几次就放送正常的请求

1
--safe-url  要设置几次

过滤日志里的没有用的地址参数 --scope

1
sqlmap -l 日志文件  --scope="(www)?\.target\.(com|net|org)“

解释用日志文件扫描目标,日志文件可以有其他的不想扫描的地址可以用--scope进行过滤
--scope代码里的意思,只扫描有www.target.comcetorg

1
sqlmap -l 日志文件 --scope="(19)?\.168\.20\.(1|10|100)" --level 3 --dbs

只扫描前面是19(0-255).168.20.110100的地址
演示一下
看一下日志有很多请求地址只扫描192.168.51.3或30或90里面User-agent也注入测试--level>=3
在这里插入图片描述命令sqlmap -l a --scope="(19)?\.168\.51\.(3|30|90)" --level 3 --dbs只扫描文件里19(0-255).168.51.33090的地址
在这里插入图片描述

不URL编码加上这个参数--skip-urlencode

每次请求前执行指定的python代码进行请求的变量参数进行修改添加叫你每次请求的内容都不同

1
--eval="写的脚步"

OPTIMIZATION(优化)

OPTIMIZATION:优化

1
2
3
4
5
6
7
8
9
-o					打开所有优化开关

--predict-output 预测公共查询输出

--keep-alive 使用永久HTTP(s)连接

--null-connection 没有实际HTTP响应正文的页长度

--threads=THREADS 最大并发HTTP(s)请求数(默认值1
  • -O
    -O就是用一个-O就是用代替下面的所有参数
1
2
3
--predict-output	预测公共查询输出
--keep-alive 使用永久HTTP(s)连接
--null-connection 没有实际HTTP响应正文的页长度

–predict-output

  • 通常sqlmap扫描时间不叫长可以用优化参数
  • 根据检测方法,比对返回值和统计表内容,不断缩小检测范围,提高检测效率
  • 版本名、用户名、密码、Privileges、role、数据库名称、表名、列名
  • 与 –threads 参数不兼容就是你用了–threads那就不能用了–predict-output
  • 统计表默认位置:/usr/share/sqlmap/data/txtcommon-outputs.txt

–keep-alive

  • 使用 http(s) 长连接,性能好
  • 与 –proxy 参数不兼容就是你用了–proxy 那就不能用了 –keep-alive
  • 长连接避免重复建立连接的网络开销,但大量长连接会严重占用服务器资源(节省网络开销,但是会占用服务器资源,防止重复建立连接时被服务器端检测发现)

    –null-connection

  • 只获取相应页面的大小值,而非页面具体内容
  • 通常用于盲注判断 真/假,降低网络带宽消耗

  • 与–text-only参数不兼容(基于页面内容的比较判断 真/假

    –threads

  • 最大并发线程

  • 盲注时每个线程获取一个字符(7次请求)。获取完成后线程结果
  • 默认值为1,建议不要超过10,否则可能影响站点可用性
  • 与 –predict-output参数不兼容